www.gusucode.com > Piwik 网站流量统计系统 v2.9.1PHP源码程序 > Piwik 网站流量统计系统 v2.9.1/piwik/piwik/plugins/CoreHome/angularjs/ajax-form/ajax-form.controller.js
/*! * Piwik - free/libre analytics platform * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ (function () { angular.module('piwikApp').controller('AjaxFormController', AjaxFormController); AjaxFormController.$inject = ['piwikApi', '$filter']; function AjaxFormController(piwikApi, $filter) { var vm = this; /** * Set to non-null when a form submit request returns successfully. When successful, it will * be the entire JSON parsed response of the request. * * @type {null|string} */ vm.successfulPostResponse = null; /** * Set to non-null when a form submit request results in an error. When an error occurs, * it will be set to the string error message. * * @type {null|string} */ vm.errorPostResponse = null; /** * true if currently submitting a POST request, false if otherwise. * * @type {bool} */ vm.isSubmitting = false; vm.submitForm = submitForm; /** * Sends a POST to the configured API method. */ function submitForm() { var postParams; vm.successfulPostResponse = null; vm.errorPostResponse = null; if (vm.sendJsonPayload) { postParams = {data: JSON.stringify(vm.data)}; } else { postParams = vm.data; } vm.isSubmitting = true; piwikApi.post( { // GET params module: 'API', method: vm.submitApiMethod }, postParams, { // request options createErrorNotification: !vm.noErrorNotification } ).then(function (response) { vm.successResponse = response; if (!vm.noSuccessNotification) { var UI = require('piwik/UI'); var notification = new UI.Notification(); notification.show($filter('translate')('General_YourChangesHaveBeenSaved'), { context: 'success', type: 'toast', id: 'ajaxHelper' }); notification.scrollToNotification(); } }).catch(function (errorMessage) { vm.errorPostResponse = errorMessage; })['finally'](function () { vm.isSubmitting = false; }); } } })();